package com.kuangjia.student_ems.service;

import com.kuangjia.student_ems.dto.request.CreateNotificationRequest;
import com.kuangjia.student_ems.dto.response.NotificationResponse;
import com.kuangjia.student_ems.entity.Notification;
import com.kuangjia.student_ems.entity.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.List;

public interface NotificationService {
    NotificationResponse createNotification(CreateNotificationRequest request);
    Page<Notification> getNotifications(User currentUser, Long userId, Boolean isRead, String keyword, Pageable pageable);
    void markAsRead(User currentUser, List<Long> ids);
    void deleteNotifications(User currentUser, List<Long> ids);
    Long countUnread(User currentUser, Long userId);
    
    // 批量发送消息给多个用户
    List<NotificationResponse> createNotificationsForUsers(CreateNotificationRequest request, List<Long> userIds);
    
    // 发送系统消息（所有用户可见）
    List<NotificationResponse> createSystemNotification(CreateNotificationRequest request);
} 